#pragma once
#include <Common/platform.h>

namespace shermit {
	template<typename Float_t>
	class NumericLimit {
	public:
		static GENERAL Float_t min();
		static GENERAL Float_t max();
	};

	template<>
	class NumericLimit<float> {
	public:
		static GENERAL float min() { return FMIN; }
		static GENERAL float max() { return FMAX; }
	};

	template<>
	class NumericLimit<double> {
	public:
		static GENERAL double min() { return DMIN; }
		static GENERAL double max() { return DMAX; }
	};
	/*
	template<>
	GENERAL float NumericLimit<float>::min();

	template<>
	GENERAL double NumericLimit<double>::min();

	template<>
	GENERAL float NumericLimit<float>::max();

	template<>
	GENERAL double NumericLimit<double>::max();
	*/
}